#ifndef GAMEKIT_SDL_SDLWINDOW_H
#define GAMEKIT_SDL_SDLWINDOW_H

#include "gamekit/gamekit.h"

#include "gamekit/Window.h"
#include "gamekit/common/SafePointer.h"
#include "gamekit/common/AutoPointer.h"
#include "gamekit/sdl/SDLSurface.h"

namespace gamekit
{
	namespace sdl
	{
		class SDLWindow : public Window
		{
		public:
			SDLWindow(const std::string& caption, const ushort& width, const ushort& height, const uint& depth);
			~SDLWindow();

			SafePointer<SDLSurface> screen(void) const;

		protected:
			void onInit(void);
			void onBeginDraw(void);
			void onEndDraw(void);

		private:
			AutoPointer<SDLSurface> m_screen;
		};
	}
}

#endif
